Towards Analyzing Security-Critical Software During Development
نویسندگان
چکیده
We describe an approach and tool for analyzing the vulnerability of software applications to anomalous events and malicious threats during software development. Traditionally, security analysis has been applied at the network system level, after release, using tiger team approaches. After a successful tiger team penetration, speciic system vulnerabilities are patched. We make a case for applying software engineering analysis techniques that have proven successful in the software safety arena to security-critical software code. This work is based on the generally held belief that a large proportion of security violations result from errors introduced during software development. Our methodology employs software fault injection and automatic input generation to force anomalous program states while a piece of software is executing, in order to determine where it is most vulnerable. A software developer or security analyst can specify what constitutes a security policy violation for the software application under analysis by placing assertion functions in the code. Statistical estimates of the vulnerability (or conversely the security) of the software application are generated through repeated execution of the in-strumented application. These measures provide a simple and useful metric that can be used to compare the relative security of diierent releases of a given application. We present early results of applying our working prototype to security-critical Web applications. Abstract We describe an approach and tool for analyzing the vulnerability of software applications to anomalous events and malicious threats during software development. Traditionally, security analysis has been applied at the network system level, after release, using tiger team approaches. After a successful tiger team penetration, speciic system vulnerabilities are patched. We make a case for applying software engineering analysis techniques that have proven successful in the software safety arena to security-critical software code. This work is based on the generally held belief that a large proportion of security violations result from errors introduced during software development. Our methodology employs software fault injection and automatic input generation to force anomalous program states while a piece of software is executing, in order to determine where it is most vulnerable. A software developer or security analyst can specify what constitutes a security policy violation for the software application under analysis by placing assertion functions in the code. Statistical estimates of the vulnerability (or conversely the security) of the software application are generated through repeated execution of the in-strumented application. These measures provide a simple and useful metric that can …
منابع مشابه
Towards Measuring the Project Management Process During Large Scale Software System Implementation Phase
Project management is an important factor to accomplish the decision to implement large-scale software systems (LSS) in a successful manner. The effective project management comes into play to plan, coordinate and control such a complex project. Project management factor has been argued as one of the important Critical Success Factor (CSF), which need to be measured and monitored carefully duri...
متن کاملAn Automated Approach for Identifying Potential Vulnerabilities in Software
This paper presents results from analyzing the vulnerability of security-critical software applications to malicious threats and anomalous events using an automated fault injection analysis approach. The work is based on the well-understood premise that a large proportion of security violations result from errors in software source code and con guration. The methodology employs software fault i...
متن کاملTowards Test-Driven and Architecture Model-Based Security and Resilience Engineering
The quality of software systems depends strongly on their architecture. For this reason, taking into account non-functional requirements at architecture level is crucial for the success of the software development process. Early architecture model validation facilitates the detection and correction of design errors. In this research, the authors are interested in security critical systems, whic...
متن کاملA Neural Network Based Security Tool for Analyzing Software
The need to secure software application in today’s hostile computer environment cannot be overlooked. The increase in attacks aimed at software directly in the last decade and the demand for more secure software applications has drawn the attention of the software industry into looking for better ways in which software can be developed more securely. To achieve this, it has been suggested that ...
متن کاملSoftware Security Requirements Gathering Instrument
Security breaches are largely caused by the vulnerable software. Since individuals and organizations mostly depend on softwares, it is important to produce in secured manner. The first step towards producing secured software is through gathering security requirements. This paper describes Software Security Requirements Gathering Instrument (SSRGI) that helps gather security requirements from th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1996